package com.yaopaikeji.service;

import com.yaopaikeji.model.EmailGroupInfo;
import com.yaopaikeji.model.User;
import com.yaopaikeji.model.UserGroupRelation;

import java.util.List;

public interface EmailGroupService {
    /**
     * 根据邮件组id查询整个邮件组的所有用户
     */
    List<User> listUsersByGroupId(int groupId);

    /**
     * 查询某个邮件组详情
     */
    EmailGroupInfo findByGroupId(int groupId);

    /**
     * 查询所有邮件组
     */
    List<EmailGroupInfo> listAllGroups();
    /**
     * 增加一个邮件组
     */
    EmailGroupInfo addNewGroup(EmailGroupInfo emailGroupInfo);
    /**
     * 修改一个邮件组信息
     */
    EmailGroupInfo updateGroupInfo(EmailGroupInfo emailGroupInfo);

    /**
     * 添加某人进某个邮件组
     */
    boolean addMemberToEmailGroup(UserGroupRelation userGroupRelation);

    /**
     * 批量添加人进邮件组
     */
    boolean addMembersToEmailGroup(List<UserGroupRelation> userGroupRelations);

    /**
     * 从邮件组中删除某人
     */
    boolean deleteUserFromGroup(UserGroupRelation userGroupRelation);

    /**
     * 删除某个邮件组
     */
    boolean deleteEmailGroup(int groupId);
}
